package com.bocloud.cmp.model;

import java.util.Date;

import com.bocloud.common.utils.DateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * 物理机器业务类
 * 
 * @author wei wei
 * @version 1.0
 * @since 2016.03.31
 */
public class ServerBean {

	private Long id; // ID
	private String name; // 名称
	private String version; // 型号
	private String serial; // 序列号
	private String location; // 物理位置
	private String deviceName; // 设备名称
	private String assetTag; // 资产编号
	private String befrom; // 来源
	private String maker; // 制造商
	private String contractNo; // 服务合同号
	private String serviceStart; // 服务开始时间
	private String serviceEnd; // 服务到期时间
	private String vendor; // 服务提供商
	private String vendorPhone; // 服务提供商联系方式
	private String makerPhone; // 制造商联系方式
	private String hardware; // 硬件配置
	private String environment; // 所属环境
	private String mac; // MAC
	private String category; // 类别
	private String type; // 服务器类型
	private String cpuHz; // CPU频率
	private String keyStore; // 主密钥存放信息
	private String uuid; // UUID
	private String osAccount; // IMPI账号
	private String osPassword; // IMPI账号
	private String ipmiAccount; // IMPI账号
	private String ipmiPassword; // IPMI密码
	private String ipmiAddress; // IPMI端口
	private String processorVendor; // 处理器供应商
	private Integer processorAmount; // 处理器数量
	private String processorMode; // 处理器型号
	private String memoryMode; // 内存型号
	private Integer memoryCapacity; // 内存大小
	private String biosVersion; // BIOS版本
	private String biosVendor; // BIOS供应商
	@JsonSerialize(using = DateSerializer.class)
	private Date biosDate; // BIOS发布日期
	private String osName; // OS名称
	private String osVersion; // OS版本
	private String kernelVersion; // 内核版本
	private Integer diskCapacity; // 磁盘容量
	private Boolean virtualized; // 是否支持虚拟化
	private String vtMode; // 虚拟化类型{Hypervisor|KVM}
	private Boolean supportDocker; // 是否支持Docker
	private String dockerVersion; // Docker 版本
	private String managerIp; // 管理IP
	private Integer managerPort; // 管理端口
	private String tags; // 标签
	private Integer agentPort; // Agent端口
	private Long rackId; // 机柜ID
	private String remark; // 描述
	private Integer slotStart; // 卡槽起始点
	private Integer slotNum; // 卡槽数量
	private Integer units;// U数

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 *            the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the version
	 */
	public String getVersion() {
		return version;
	}

	/**
	 * @param version
	 *            the version to set
	 */
	public void setVersion(String version) {
		this.version = version;
	}

	/**
	 * @return the serial
	 */
	public String getSerial() {
		return serial;
	}

	/**
	 * @param serial
	 *            the serial to set
	 */
	public void setSerial(String serial) {
		this.serial = serial;
	}

	/**
	 * @return the location
	 */
	public String getLocation() {
		return location;
	}

	/**
	 * @param location
	 *            the location to set
	 */
	public void setLocation(String location) {
		this.location = location;
	}

	/**
	 * @return the deviceName
	 */
	public String getDeviceName() {
		return deviceName;
	}

	/**
	 * @param deviceName
	 *            the deviceName to set
	 */
	public void setDeviceName(String deviceName) {
		this.deviceName = deviceName;
	}

	/**
	 * @return the assetTag
	 */
	public String getAssetTag() {
		return assetTag;
	}

	/**
	 * @param assetTag
	 *            the assetTag to set
	 */
	public void setAssetTag(String assetTag) {
		this.assetTag = assetTag;
	}

	/**
	 * @return the befrom
	 */
	public String getBefrom() {
		return befrom;
	}

	/**
	 * @param befrom
	 *            the befrom to set
	 */
	public void setBefrom(String befrom) {
		this.befrom = befrom;
	}

	/**
	 * @return the maker
	 */
	public String getMaker() {
		return maker;
	}

	/**
	 * @param maker
	 *            the maker to set
	 */
	public void setMaker(String maker) {
		this.maker = maker;
	}

	/**
	 * @return the contractNo
	 */
	public String getContractNo() {
		return contractNo;
	}

	/**
	 * @param contractNo
	 *            the contractNo to set
	 */
	public void setContractNo(String contractNo) {
		this.contractNo = contractNo;
	}

	/**
	 * @return the serviceStart
	 */
	public String getServiceStart() {
		return serviceStart;
	}

	/**
	 * @param serviceStart
	 *            the serviceStart to set
	 */
	public void setServiceStart(String serviceStart) {
		this.serviceStart = serviceStart;
	}

	/**
	 * @return the serviceEnd
	 */
	public String getServiceEnd() {
		return serviceEnd;
	}

	/**
	 * @param serviceEnd
	 *            the serviceEnd to set
	 */
	public void setServiceEnd(String serviceEnd) {
		this.serviceEnd = serviceEnd;
	}

	/**
	 * @return the vendor
	 */
	public String getVendor() {
		return vendor;
	}

	/**
	 * @param vendor
	 *            the vendor to set
	 */
	public void setVendor(String vendor) {
		this.vendor = vendor;
	}

	/**
	 * @return the vendorPhone
	 */
	public String getVendorPhone() {
		return vendorPhone;
	}

	/**
	 * @param vendorPhone
	 *            the vendorPhone to set
	 */
	public void setVendorPhone(String vendorPhone) {
		this.vendorPhone = vendorPhone;
	}

	/**
	 * @return the makerPhone
	 */
	public String getMakerPhone() {
		return makerPhone;
	}

	/**
	 * @param makerPhone
	 *            the makerPhone to set
	 */
	public void setMakerPhone(String makerPhone) {
		this.makerPhone = makerPhone;
	}

	/**
	 * @return the hardware
	 */
	public String getHardware() {
		return hardware;
	}

	/**
	 * @param hardware
	 *            the hardware to set
	 */
	public void setHardware(String hardware) {
		this.hardware = hardware;
	}

	/**
	 * @return the environment
	 */
	public String getEnvironment() {
		return environment;
	}

	/**
	 * @param environment
	 *            the environment to set
	 */
	public void setEnvironment(String environment) {
		this.environment = environment;
	}

	/**
	 * @return the mac
	 */
	public String getMac() {
		return mac;
	}

	/**
	 * @param mac
	 *            the mac to set
	 */
	public void setMac(String mac) {
		this.mac = mac;
	}

	/**
	 * @return the category
	 */
	public String getCategory() {
		return category;
	}

	/**
	 * @param category
	 *            the category to set
	 */
	public void setCategory(String category) {
		this.category = category;
	}

	/**
	 * @return the type
	 */
	public String getType() {
		return type;
	}

	/**
	 * @param type
	 *            the type to set
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @return the cpuHz
	 */
	public String getCpuHz() {
		return cpuHz;
	}

	/**
	 * @param cpuHz
	 *            the cpuHz to set
	 */
	public void setCpuHz(String cpuHz) {
		this.cpuHz = cpuHz;
	}

	/**
	 * @return the keyStore
	 */
	public String getKeyStore() {
		return keyStore;
	}

	/**
	 * @param keyStore
	 *            the keyStore to set
	 */
	public void setKeyStore(String keyStore) {
		this.keyStore = keyStore;
	}

	/**
	 * @return the uuid
	 */
	public String getUuid() {
		return uuid;
	}

	/**
	 * @param uuid
	 *            the uuid to set
	 */
	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	/**
	 * @return the osAccount
	 */
	public String getOsAccount() {
		return osAccount;
	}

	/**
	 * @param osAccount
	 *            the osAccount to set
	 */
	public void setOsAccount(String osAccount) {
		this.osAccount = osAccount;
	}

	/**
	 * @return the osPassword
	 */
	public String getOsPassword() {
		return osPassword;
	}

	/**
	 * @param osPassword
	 *            the osPassword to set
	 */
	public void setOsPassword(String osPassword) {
		this.osPassword = osPassword;
	}

	/**
	 * @return the ipmiAccount
	 */
	public String getIpmiAccount() {
		return ipmiAccount;
	}

	/**
	 * @param ipmiAccount
	 *            the ipmiAccount to set
	 */
	public void setIpmiAccount(String ipmiAccount) {
		this.ipmiAccount = ipmiAccount;
	}

	/**
	 * @return the ipmiPassword
	 */
	public String getIpmiPassword() {
		return ipmiPassword;
	}

	/**
	 * @param ipmiPassword
	 *            the ipmiPassword to set
	 */
	public void setIpmiPassword(String ipmiPassword) {
		this.ipmiPassword = ipmiPassword;
	}

	/**
	 * @return the ipmiAddress
	 */
	public String getIpmiAddress() {
		return ipmiAddress;
	}

	/**
	 * @param ipmiAddress
	 *            the ipmiAddress to set
	 */
	public void setIpmiAddress(String ipmiAddress) {
		this.ipmiAddress = ipmiAddress;
	}

	/**
	 * @return the processorVendor
	 */
	public String getProcessorVendor() {
		return processorVendor;
	}

	/**
	 * @param processorVendor
	 *            the processorVendor to set
	 */
	public void setProcessorVendor(String processorVendor) {
		this.processorVendor = processorVendor;
	}

	/**
	 * @return the processorAmount
	 */
	public Integer getProcessorAmount() {
		return processorAmount;
	}

	/**
	 * @param processorAmount
	 *            the processorAmount to set
	 */
	public void setProcessorAmount(Integer processorAmount) {
		this.processorAmount = processorAmount;
	}

	/**
	 * @return the processorMode
	 */
	public String getProcessorMode() {
		return processorMode;
	}

	/**
	 * @param processorMode
	 *            the processorMode to set
	 */
	public void setProcessorMode(String processorMode) {
		this.processorMode = processorMode;
	}

	/**
	 * @return the memoryMode
	 */
	public String getMemoryMode() {
		return memoryMode;
	}

	/**
	 * @param memoryMode
	 *            the memoryMode to set
	 */
	public void setMemoryMode(String memoryMode) {
		this.memoryMode = memoryMode;
	}

	/**
	 * @return the memoryCapacity
	 */
	public Integer getMemoryCapacity() {
		return memoryCapacity;
	}

	/**
	 * @param memoryCapacity
	 *            the memoryCapacity to set
	 */
	public void setMemoryCapacity(Integer memoryCapacity) {
		this.memoryCapacity = memoryCapacity;
	}

	/**
	 * @return the biosVersion
	 */
	public String getBiosVersion() {
		return biosVersion;
	}

	/**
	 * @param biosVersion
	 *            the biosVersion to set
	 */
	public void setBiosVersion(String biosVersion) {
		this.biosVersion = biosVersion;
	}

	/**
	 * @return the biosVendor
	 */
	public String getBiosVendor() {
		return biosVendor;
	}

	/**
	 * @param biosVendor
	 *            the biosVendor to set
	 */
	public void setBiosVendor(String biosVendor) {
		this.biosVendor = biosVendor;
	}

	/**
	 * @return the biosDate
	 */
	public Date getBiosDate() {
		return biosDate;
	}

	/**
	 * @param biosDate
	 *            the biosDate to set
	 */
	public void setBiosDate(Date biosDate) {
		this.biosDate = biosDate;
	}

	/**
	 * @return the osName
	 */
	public String getOsName() {
		return osName;
	}

	/**
	 * @param osName
	 *            the osName to set
	 */
	public void setOsName(String osName) {
		this.osName = osName;
	}

	/**
	 * @return the osVersion
	 */
	public String getOsVersion() {
		return osVersion;
	}

	/**
	 * @param osVersion
	 *            the osVersion to set
	 */
	public void setOsVersion(String osVersion) {
		this.osVersion = osVersion;
	}

	/**
	 * @return the kernelVersion
	 */
	public String getKernelVersion() {
		return kernelVersion;
	}

	/**
	 * @param kernelVersion
	 *            the kernelVersion to set
	 */
	public void setKernelVersion(String kernelVersion) {
		this.kernelVersion = kernelVersion;
	}

	/**
	 * @return the diskCapacity
	 */
	public Integer getDiskCapacity() {
		return diskCapacity;
	}

	/**
	 * @param diskCapacity
	 *            the diskCapacity to set
	 */
	public void setDiskCapacity(Integer diskCapacity) {
		this.diskCapacity = diskCapacity;
	}

	/**
	 * @return the virtualized
	 */
	public Boolean getVirtualized() {
		return virtualized;
	}

	/**
	 * @param virtualized
	 *            the virtualized to set
	 */
	public void setVirtualized(Boolean virtualized) {
		this.virtualized = virtualized;
	}

	/**
	 * @return the vtMode
	 */
	public String getVtMode() {
		return vtMode;
	}

	/**
	 * @param vtMode
	 *            the vtMode to set
	 */
	public void setVtMode(String vtMode) {
		this.vtMode = vtMode;
	}

	/**
	 * @return the supportDocker
	 */
	public Boolean getSupportDocker() {
		return supportDocker;
	}

	/**
	 * @param supportDocker
	 *            the supportDocker to set
	 */
	public void setSupportDocker(Boolean supportDocker) {
		this.supportDocker = supportDocker;
	}

	/**
	 * @return the dockerVersion
	 */
	public String getDockerVersion() {
		return dockerVersion;
	}

	/**
	 * @param dockerVersion
	 *            the dockerVersion to set
	 */
	public void setDockerVersion(String dockerVersion) {
		this.dockerVersion = dockerVersion;
	}

	/**
	 * @return the managerIp
	 */
	public String getManagerIp() {
		return managerIp;
	}

	/**
	 * @param managerIp
	 *            the managerIp to set
	 */
	public void setManagerIp(String managerIp) {
		this.managerIp = managerIp;
	}

	/**
	 * @return the managerPort
	 */
	public Integer getManagerPort() {
		return managerPort;
	}

	/**
	 * @param managerPort
	 *            the managerPort to set
	 */
	public void setManagerPort(Integer managerPort) {
		this.managerPort = managerPort;
	}

	/**
	 * @return the tags
	 */
	public String getTags() {
		return tags;
	}

	/**
	 * @param tags
	 *            the tags to set
	 */
	public void setTags(String tags) {
		this.tags = tags;
	}

	/**
	 * @return the agentPort
	 */
	public Integer getAgentPort() {
		return agentPort;
	}

	/**
	 * @param agentPort
	 *            the agentPort to set
	 */
	public void setAgentPort(Integer agentPort) {
		this.agentPort = agentPort;
	}

	/**
	 * @return the rackId
	 */
	public Long getRackId() {
		return rackId;
	}

	/**
	 * @param rackId
	 *            the rackId to set
	 */
	public void setRackId(Long rackId) {
		this.rackId = rackId;
	}

	/**
	 * @return the remark
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * @param remark
	 *            the remark to set
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * @return the slotStart
	 */
	public Integer getSlotStart() {
		return slotStart;
	}

	/**
	 * @param slotStart
	 *            the slotStart to set
	 */
	public void setSlotStart(Integer slotStart) {
		this.slotStart = slotStart;
	}

	/**
	 * @return the slotNum
	 */
	public Integer getSlotNum() {
		return slotNum;
	}

	/**
	 * @param slotNum
	 *            the slotNum to set
	 */
	public void setSlotNum(Integer slotNum) {
		this.slotNum = slotNum;
	}

	/**
	 * @return the units
	 */
	public Integer getUnits() {
		return units;
	}

	/**
	 * @param units
	 *            the units to set
	 */
	public void setUnits(Integer units) {
		this.units = units;
	}

}
